Multimode GPS-Enabled Camera

ABSTRACT

A method and device of geographically tagging images by capturing an image, determining a position based on detection of satellite signals and a wireless network signal, and tagging the image with the determined position is provided.

CROSS-REFERENCE TO RELATED APPLICATIONS

Not applicable.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates generally to position location and morespecifically to tagging images with a location fix in a GPS-enabledmobile station recording device.

2. Background of the Invention

With the continuing growing popularity of mapping systems that positionlocate photographs, consumers will want more products that automaticallytie reliable, robust, quick and accurate position location together withthe functions of a camera. Known GPS-enabled cameras determine alocation fix after each photograph is captured. These devices operateindependently. That is, a camera provides a date-time stamp and a GPSdevice uses Standalone GPS to log location along with date and time.Subsequent processing then batch processes the two sets of data on a PCto combine a picture with a location based on a common time stamp.Delays in determining a location fix using a GPS-enabled camera may besubstantial. Furthermore, GPS-enabled cameras are not configurable by auser to best meet the needs of that user and do not use data obtainedfrom wireless networks to assist in position location. GPS-enabledmobile stations, which use a wireless network to make voice and datacalls, are also becoming more common. Such GPS-enabled mobile stationsare being deployed to meet the FCC's 911 mandate and to provide enhancedfunctionality for mobile applications and user interaction. Such camerasand mobile stations fail to integrate and utilize the combined featuresof a GPS network of satellites and a wireless network when capturingimages. Therefore, a need exists to have a more flexible and robustposition location system to use when capturing images without one ormore of these drawbacks.

SUMMARY

Some embodiments of the present invention provide for a method ofgeographically tagging images in a device comprising a camera, themethod comprising: capturing an image; determining a position based onan attempt to detect satellite signals and wireless network signal; andtagging the image with the determined position.

Some embodiments of the present invention provide for a method ofgeographically stamping images in a device comprising a camera, themethod comprising: determining a position based on an attempt to detectsatellite signals and wireless network signal; capturing an image afterthe act of determining the position; and tagging the image with thedetermined position.

Some embodiments of the present invention provide for a method ofgeographically stamping a batch of images in a device comprising acamera, the method comprising: capturing a plurality of images;selecting the plurality of images; determining a position based ondetection of satellite signals and detection of a wireless networksignal; and tagging the plurality of images with the determinedposition.

Some embodiments of the present invention provide for a devicecomprising a camera for geographically tagging images, the devicecomprising: means for capturing an image; means for determining aposition based on an attempt to detect satellite signals and wirelessnetwork signal; and means for tagging the image with the determinedposition.

Some embodiments of the present invention provide for a devicecomprising a camera for geographically stamping a batch of images, thedevice comprising: means for capturing a plurality of images; means forselecting the plurality of images; means for determining a positionbased on an attempt to detect satellite signals and wireless networksignal; and means for tagging the plurality of images with thedetermined position.

Some embodiments of the present invention provide for acomputer-readable product comprising a computer-readable mediumcomprising: code for causing at least one computer to capture an image;code for causing at least one computer to determine a position based onan attempt to detect satellite signals and wireless network signal; andcode for causing at least one computer to tag the image with thedetermined position.

Some embodiments of the present invention provide for acomputer-readable product comprising a computer-readable mediumcomprising: code for causing at least one computer to capture aplurality of images; code for causing at least one computer to selectthe plurality of images; code for causing at least one computer todetermine a position based on an attempt to detect satellite signals andwireless network signal; and code for causing at least one computer totag the plurality of images with the determined position.

These and other aspects, features and advantages of the invention willbe apparent from reference to the embodiments described hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will be described, by way of example only,with reference to the drawings.

FIG. 1A shows satellite vehicles providing signals to a mobile station.

FIG. 1B shows a process to tag images with a location fix.

FIG. 2 shows a mobile station in communication with a wireless networkand satellite vehicles.

FIGS. 3A and 3B show a state diagram and a truth table, in accordancewith some embodiments of the present invention.

FIG. 4 shows a flow chart for determining a means to set a location fix,in accordance with some embodiments of the present invention.

FIGS. 5A and 5B illustrate screenshots, in accordance with someembodiments of the present invention.

FIGS. 6A, 6B, 6C, 6D, 7A, 7B, 7C, 8A, 8B, 8C, 9A, 9B and 9C showtime-line diagrams and flow charts illustrating normal operation of amobile station, in accordance with some embodiments of the presentinvention.

FIGS. 10A and 10B show process flows for tagging images, in accordancewith some embodiments of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

In the following description, reference is made to the accompanyingdrawings, which illustrate several embodiments of the present invention.It is understood that other embodiments may be utilized and mechanical,compositional, structural, electrical, and operational changes may bemade without departing from the spirit and scope of the presentdisclosure. The following detailed description is not to be taken in alimiting sense. Furthermore, some portions of the detailed descriptionthat follows are presented in terms of procedures, steps, logic blocks,processing, and other symbolic representations of operations on databits that can be performed in electronic circuitry or on computermemory. A procedure, computer executed step, logic block, process, etc.,are conceived here to be a self-consistent sequence of steps orinstructions leading to a desired result. The steps are those utilizingphysical manipulations of physical quantities. These quantities can takethe form of electrical, magnetic, or radio signals capable of beingstored, transferred, combined, compared, and otherwise manipulated inelectronic circuitry or in a computer system. These signals may bereferred to at times as bits, values, elements, symbols, characters,terms, numbers, or the like. Each step may be performed by hardware,software, firmware, or combinations thereof. In a hardwareimplementation, for example, a processing unit may be implemented withinone or more application specific integrated circuits (ASICs), digitalsignal processors (DSPs), digital signal processing devices (DSPs),programmable logic devices (PLDs), field programmable gate arrays(FPGAs), processors, controllers, micro-controllers, microprocessors,electronic devices, other devices units designed to perform thefunctions described herein, and/or combinations thereof.

Throughout this specification, reference may be made to “one example”,“one feature”, “an example” or “a feature” means that a particularfeature, structure, or characteristic described in connection with thefeature and/or example is included in at least one feature and/orexample of claimed subject matter. Thus, the appearances of the phrase“in one example”, “an example”, “in one feature” or “a feature” invarious places throughout this specification are not necessarily allreferring to the same feature and/or example. Furthermore, theparticular features, structures, or characteristics may be combined inone or more examples and/or features.

“Instructions” as referred to herein relate to expressions whichrepresent one or more logical operations. For example, instructions maybe “machine-readable” by being interpretable by a machine for executingone or more operations on one or more data objects. However, this ismerely an example of instructions and claimed subject matter is notlimited in this respect. In another example, instructions as referred toherein may relate to encoded commands which are executable by aprocessing circuit having a command set which includes the encodedcommands. Such an instruction may be encoded in the form of a machinelanguage understood by the processing circuit. Again, these are merelyexamples of an instruction and claimed subject matter is not limited inthis respect.

“Storage medium” as referred to herein relates to media capable ofmaintaining expressions which are perceivable by one or more machines.For example, a storage medium may comprise one or more storage devicesfor storing machine-readable instructions and/or information. Suchstorage devices may comprise any one of several media types including,for example, magnetic, optical or semiconductor storage media. Suchstorage devices may also comprise any type of long term, short term,volatile or non-volatile memory devices. However, these are merelyexamples of a storage medium, and claimed subject matter is not limitedin these respects.

Unless specifically stated otherwise, as apparent from the followingdiscussion, it is appreciated that throughout this specificationdiscussions utilizing terms such as “processing,” “computing,”“calculating,” “selecting,” “forming,” “enabling,” “inhibiting,”“locating,” “terminating,” “identifying,” “initiating,” “detecting,”“obtaining,” “hosting,” “maintaining,” “representing,” “estimating,”“receiving,” “transmitting,” “determining” and/or the like refer to theactions and/or processes that may be performed by a computing platform,such as a computer or a similar electronic computing device, thatmanipulates and/or transforms data represented as physical electronicand/or magnetic quantities and/or other physical quantities within thecomputing platform's processors, memories, registers, and/or otherinformation storage, transmission, reception and/or display devices.Such actions and/or processes may be executed by a computing platformunder the control of machine-readable instructions stored in a storagemedium, for example. Such machine-readable instructions may comprise,for example, software or firmware stored in a storage medium included aspart of a computing platform (e.g., included as part of a processingcircuit or external to such a processing circuit). Further, unlessspecifically stated otherwise, processes described herein, withreference to flow diagrams or otherwise, may also be executed and/orcontrolled, in whole or in part, by such a computing platform.

Wireless communication techniques described herein may be in connectionwith various wireless communication networks such as a wireless widearea network (WWAN), a wireless local area network (WLAN), a wirelesspersonal area network (WPAN), and so on. The term “network” and “system”may be used interchangeably herein. A WWAN may be a Code DivisionMultiple Access (CDMA) network, a Time Division Multiple Access (TDMA)network, a Frequency Division Multiple Access (FDMA) network, anOrthogonal Frequency Division Multiple Access (OFDMA) network, aSingle-Carrier Frequency Division Multiple Access (SC-FDMA) network, andso on. A CDMA network may implement one or more radio accesstechnologies (RATs) such as CDMA2000, Wideband-CDMA (W-CDMA), to namejust a few radio technologies. Here, CDMA2000 may include technologiesimplemented according to IS-95, IS-2000, and IS-856 standards. A TDMAnetwork may implement Global System for Mobile Communications (GSM),Digital Advanced Mobile Phone System (D-AMPS), or some other RAT. GSMand W-CDMA are described in documents from a consortium named “3rdGeneration Partnership Project” (3GPP). CDMA2000 is described indocuments from a consortium named “3rd Generation Partnership Project 2”(3GPP2). 3GPP and 3GPP2 documents are publicly available. A WLAN maycomprise an IEEE 802.11x network, and a WPAN may comprise a Bluetoothnetwork, an IEEE 802.15x, for example. Wireless communicationimplementations described herein may also be used in connection with anycombination of WWAN, WLAN and/or WPAN.

FIG. 1A shows satellite vehicles 50 providing signals to a mobilestation 40. As used herein, a handheld mobile device or a mobile station(MS) refers to a device that may from time to time have a position orlocation that changes. The changes in position and/or location maycomprise changes to direction, distance, orientation, etc., as a fewexamples. In particular examples, a mobile station 40 may comprise acellular telephone, wireless communication device, user equipment,laptop computer, a personal navigation device, other personalcommunication system (PCS) device, and/or other portable communicationdevice. A mobile station 40 may also comprise a processor and/orcomputing platform adapted to perform functions controlled bymachine-readable instructions.

A handheld mobile device 40 and/or system may estimate a device'slocation based, at least in part, on signals received from satellites50. In particular, such a device 40 and/or system may obtain“pseudorange” measurements comprising approximations of distancesbetween associated satellites and a navigation satellite receiver. In aparticular example, such a pseudorange may be determined at a receiverthat is capable of processing signals from one or more satellites 50 aspart of a Satellite Positioning System (SPS). Such an SPS may comprise,for example, a Global Positioning System (GPS), Galileo, Glonass, toname a few, or any SPS developed in the future. To determine itsposition, a satellite navigation receiver may obtain pseudorangemeasurements to three or more satellites as well as their positions attime of transmitting. Knowing the satellite's orbital parameters, thesepositions can be calculated for any point in time. A pseudorangemeasurement may then be determined based, at least in part, on the timea signal travels from a satellite to the receiver, multiplied by thespeed of light. While techniques described herein may be provided asimplementations of location determination in a GPS and/or Galileo typesof SPS as specific illustrations, it should be understood that thesetechniques may also apply to other types of SPS, and that claimedsubject matter is not limited in this respect.

Techniques described herein may be used with any one of several SPS,including the aforementioned SPS, for example. Furthermore, suchtechniques may be used with positioning determination systems thatutilize pseudolites or a combination of satellites and pseudolites.Pseudolites may comprise ground-based transmitters that broadcast a PRNcode or other ranging code (e.g., similar to a GPS or CDMA cellularsignal) modulated on an L-band (or other frequency) carrier signal,which may be synchronized with GPS time. Such a transmitter may beassigned a unique PRN code so as to permit identification by a remotereceiver. Pseudolites may be useful in situations where SPS signals froman orbiting satellite might be unavailable, such as in tunnels, mines,buildings, urban canyons or other enclosed areas. Another implementationof pseudolites is known as radio-beacons. The term “satellite”, as usedherein, is intended to include pseudolites, equivalents of pseudolites,and possibly others. The term “SPS signals”, as used herein, is intendedto include SPS-like signals from pseudolites or equivalents ofpseudolites.

The handheld mobile device 40 and/or system includes a first receiver toreceive SPS signals (e.g., GPS signals), a second receiver to receivenetwork information (e.g., a mobile phone receiver or transceiver or acellular phone receiver or transceiver) and an image capturing device(e.g., a camera). The second receiver to receive the network informationmay be part of a cellular phone. In these cases, the mobile device 40may operate as both a camera and a functioning mobile phone allowing auser to have typical mobile phone features such as two-way voice and/ordata communication. Alternatively, the second receiver may not becoupled to a functioning mobile phone. In these cases, the mobile device40 may be considered a camera enhanced with to means of positionlocation (i.e., via network information and via SPS signals) but withoutthe features of a typical mobile phone.

The handheld mobile device 40 and/or system may further include a meansfor capturing an image, such as a camera, a video camera or other imagesensor. The sensor may capture a still image, a moving image with sound,a moving image without sound or a sound track, singularly or in anycombination.

The handheld mobile device 40 and/or system may further include a meansfor determining a position based on an attempt to detect satellitesignals and wireless network signal, such as one or moremicroprocessors, controllers, hardware, firmware and/or software. Thehandheld mobile device 40 and/or system may further include a means fortagging the image with the determined position including one or moremicroprocessors, controllers, hardware, firmware and/or software.

In some embodiments, a handheld mobile device 40 comprises a sensor, awireless receiver or a wireless transceiver, an SPS receiver and aprocessor. The sensor, often paired with a sensed data processor, isused to capture data. The sensor may be an image sensor to capture stillimages. Alternatively, the sensor may be an audio sensor used to captureaudio tracks. Alternatively, the sensor may be a video sensor used tocapture moving pictures. Alternatively, the sensor may include both animage sensor and an audio sensor.

The wireless receiver or wireless transceiver is used to determinenetwork coverage and to obtain position information of one or more basestations, as explained with relation to FIG. 3B below. The SPS receiver,such as a GPS receiver, is used to determine SPS coverage and to obtainposition information of the mobile device 40 with respect to one or moresatellites. The processor is used to coordinate the image sensor, thewireless receiver or transceiver and the SPS receiver and to combine ortag an image with location information.

FIG. 1B shows a process to tag images with a location fix. A digitalimage may be tagged with an indication of geographical origin, forexample, by associating a determined position with the digital image.Alternatively, the tag may be stored in an imbedded field (e.g., aheader) within a digital file containing the digital image.Alternatively, the tag may be in the form of a viewable or audible labelrecognizable when reviewing the digital image (e.g., similar to adate/time stamp on a photograph). The tag may include a latitude andlongitude. The tag may also include an altitude. Alternatively or inaddition, the tag may be converted to an address, city or region.

At step 10, the mobile station 40 captures image data (e.g., takes astill picture or a video image with or without sound, or records anaudio tract). Next at step 20, the mobile station 40 determines alocation fix using a stand-alone GPS technology. For example, the mobilestation 40 attempts to detect, acquire and demodulate GPS signals frommultiple satellite vehicles 50. In the examples provided herein, thereferences made to GPS signals and a GPS system are referenced byexample only. Any of a variety of satellite positioning system (SPS)technologies may be used (e.g., GPS, Galileo and Glonass). Typically,such a mobile station 40 operates best in capturing this GPS signalswhen it is in an open outdoor environment but unfortunately this processtakes a substantial about of time. Eventually, once a location fix isdetermined, the mobile device 40 tags the image with the location fix(step 30).

FIG. 2 shows a mobile station 40 in communication with a wirelessnetwork and satellite vehicles 50. Some mobile devices 40 are both GPSenabled and are capable of communicating with a wireless network. Thewireless network includes a base station 60, a location server (LS) 80and a network 70. The base station 60 (e.g., base transceiver stations(BTS), base station controller (BSC), access points and the like)includes a radio transmitter and receiver and is used to connect voiceand data calls in a particular cell to and from mobile phones and anetwork. A location server 80 cooperates with mobile stations indetermining the location of the mobile stations. The location server mayroughly locate a mobile station 40 by knowing which base station 60 themobile station 40 is connected to on the network. Further, the locationserver 80 may send assistance data to the mobile station 40, comprisedof almanac and ephemeris satellite orbital data, time information,doppler window and other search assistance data to assist the mobilestation 40 in more quickly locking onto available satellites. Thelocation server 80 may also receive raw location data from the mobilestation 40. Since the location server 80 has more computation power thana mobile station 40, it can better process signals relayed to it from amobile station 40. Such a configuration allows a mobile station 40 toreduce the amount of CPU processing power required for a GPS positionlocation by offloading most of the computations onto the location server80. The network 70 includes various network interconnecting components(e.g., base station controller (BSC), mobile switching center (MSC),Public Switched Telephone Network (PSTN), and the like).

In accordance with the present invention, a single device has thefunctionality of an image capturing device (e.g., a camera), a mobilestation (e.g., a cellular mobile phone), and a position location device(e.g., a GPS unit). Simply combining the three devices into a singlehousing, however, may provide insufficient usability and leads severaldrawbacks. First, more than one battery or power source may be needed.Second, such integrated devices share no circuitry; therefore do notratably share information. Third, image capturing, mobile phoneoperation and position location naturally conflict. Fourth, duplicativehardware is used. For example, three devices each has a processor, whichdoes not have access to the state of the other two processors, limitingthe ability to share information advantageously.

Assuming, the three separate devices integrated into a device having asingle processor for the three device functions, several other drawbacksmay be encountered. For example, contention may occur between a positionlocation task executing and a capturing image task executing. Positionlocation requires a significant about of processing power therebycausing the capturing task encounter significant latency when a userattempts to capture an image in parallel to the position location enginerunning. Therefore, a priority scheme may be necessary if the processorhas insufficient processing power. For example, capturing an image couldhalt position location when a user begins to capture an image, however,the position location task may need to be restarted once the usercompletes capturing images.

Several of the embodiments described below alleviate one or more ofthese drawbacks. Such embodiments may include one or more processorcoupled to coordinate communication and interactions among multiplefunctional tasks to advantageously provide enhanced features and userexperiences.

A multiprocessor solution may include shared memory to allow tasksrunning on separate processor to communicate. For example, a positionlocation task running on a first processor may periodically determine alocation and store that determined location in a share memory location(e.g., memory having two busses for accessing a memory location). Acapturing image task may be running on second processor. After eachimage is captured, the capturing image task may access the shared memoryto retrieve the latest position stored in the shared memory.

A single processor solution may run two or more tasks in parallel, ifsufficient processing power is available. For example, a capturing taskmay call a position location task as a daughter task. Alternatively, asingle processor may execute tasks in series. For example, each task maybe assigned a different priority thereby allowing one task to have ahigher priority and interrupt a lower priority task device. Hardware mayfirst execute a position location task, and then allow an imagecapturing to temporarily suspend the position location to facilitateimage capturing. The position location task may resume from where it wasinterrupted once the capturing image task completes its processing.

In some embodiments, a position location engine is idle until a userbegins capturing images. Once processing power is available after theuser begins capturing images (e.g., once a user has finished capturingan image or series of images, or alternatively, once a user beginscapturing a first image), the capturing image process starts theposition location engine. When a position fix becomes available, atagging operation (e.g., by a separate tagging task or alternatively bythe image capturing task or the position location task) goes back andtags each image that are waiting for a position location tag. Once thecapturing image process is complete and images are tagged, the imagecapturing task may instruct the position location task to return to anidle state.

Furthermore, other configurations are possible as described in moredetail below.

FIGS. 3A and 3B show a state diagram and a truth table, in accordancewith some embodiments of the present invention. A mobile station withlimited processing power and limited battery power may operate in one ofthree active modes: state 100, state 310 and state 330. Depending on aparticular circumstance, the mobile station may transition from any onestate to any other state. At state 100, the mobile station isdetermining a location fix based on the quality and availability of datafrom a GPS satellite system and a wireless network. A location fix maybe determined solely from data received from one or more GPS satellites,solely from data received from one or more base stations, or from datareceived from both GPS satellites and one or more base stations. Forexample, a location fix may be from an identifier broadcast by a basestation (e.g., an identification of a cell or access point) or may bedetermined from weighting a plurality of locations each associated witha terrestrial base station.

A mobile station enters state 100 when it is not capturing images andwhen a valid location fix is not available. A determined position may bea single position, an average of positions, weighed averages ofpositions, a time averages of positions, or the like. For example, aposition may consist of an interpolation of a sequence of positions. Forexample, for a video image, an interpolation of positions just beforeand just after the video was captured may be used as the determinedposition. A mobile station interrupts state 100 when a user initiates aprocess of capturing images and may exit state 100 once a sufficientlocation fix has been determined. Alternatively, the mobile station mayinterpolate one or more positions determined by one or more of thefollowing means: stand-alone GPS position determination, MS-basedposition determination, MS-assisted position determination and/orstand-alone GPS position determination with long term orbit information.

At state 310, the mobile station is in the process of capturing images.A mobile station enters state 310 when a user activates a capture orrecord button. A mobile station exits state 310 once the image capturingprocess is complete (e.g., after a predetermined time from lastcapturing an image). At state 330, the mobile station tags previouslycaptured images. The mobile station enters this state once a capturedimage exists without a position tag when a sufficient location fixexists. The mobile station may also enter state 330 at the direction ofa user.

FIG. 3B shows how a mobile station may determine a location fix based onthe existence of network signals and/or GPS signals. The mobile stationdetermines a position based on an attempt to detect satellite signalsand wireless network signal. Depending on the existence and quality ofthe satellite signals and wireless network signal, the mobile stationselects a method to determine a position fix. The mobile station selectsone of the modes in order to determine a position. In a first mode(stand-alone GPS mode), the mobile station uses only signals from a GPSsystem. In a second mode (assisted-GPS mode), the mobile station usessignals from both the GPS system and a wireless network. In a third mode(network-information mode), the mobile station uses only signals fromthe wireless network. The mode selected by the mobile station depends onthe availability and quality of the received signals. If no signals areavailable, the mobile station may operate in a fourth mode where itprompts the user for a position.

Though GPS signals are discussed here, other types of SPS signals mayequally be used in addition to GPS signals or instead of GPS signals.For example, rather than using a stand-alone GPS signal, one mayequivalently use a stand-alone Gallieo mode, a stand-alone Glasnos modeor a combination of two or more different SPS signals. For example, GPSsignals and Glasnos signals may both be acquired and processes to assistin determining a position.

A mobile station may select the stand-alone GPS mode based on GPSsignals meeting a first threshold. The threshold may be related to aquality of the GPS signals and/or a quantity of the GPS signals. Forexample, a mobile station first determines whether a good GPS coverageis available. For example, if a predetermined number of GPS signals(e.g., 3, 4, 5 or 6), each having a sufficient signal quality, areavailable at the mobile station then the mobile station could declaregood GPS coverage and base position determination from stand-alone GPStechnology. Shown as option 1, this conventional GPS technology mayprovide reliable positions in strong signal conditions, therefore, usingother technologies may be unnecessary. In poor signal conditions (e.g.,when surrounded by tall buildings or trees or inside of buildings),stand-alone GPS works less reliably. Additionally, in poor signal areas,a mobile stations 40 may not be able to received almanac and ephemerisdata from the satellites.

The mobile station may select to use the assisted-GPS mode based on theGPS signals meeting a second threshold lower than the first threshold,and further based on the availability of network information. Ifavailable GPS satellites provide only poor coverage (e.g., a low numberof satellites and/or a lower than desired signal quality) but the mobilestation can access a base station (BS) signal, the mobile station maydetermine its position using assisted GPS (A-GPS) technology or based ona transmitted identification of a cell or access point from a basestation. In A-GPS, the mobile station may receive almanac and ephemerisdata from a base station rather than waiting or trying to demodulate itfrom a satellite. With this assistance data, the mobile station may moreadvantageously use poor GPS signals in finding its position.

Alternatively, shown as option 2, the mobile station may select theassisted-GPS mode based on the GPS signals meeting a first threshold,and further based on the availability of network information. If amobile station has good GPS coverage and also has network coverage, itmay use the assisted-GPS mode, possibly for a more rapid position fix.

In assisted-GPS mode, the mobile station may receive assistance datafrom the network and use this assistance data to more efficientlycapture the GPS signals. Alternatively or in addition to, the mobilestation may compute first location using GPS signals and a secondlocation using only network information. The location based on onlynetwork information (described below) may be based on the location ofone, two, three or more base stations. The first and second locationsmay be averaged (e.g., by weighing the two positions based onuncertainty) to determine a third position, which the mobile station mayuse as its determined location. Alternatively, a series of locations maybe accumulated to produce a determined location.

The mobile station may select the network-information mode based on theGPS signal not meeting the second threshold, and further based on theavailability of the network information. If no GPS signal is available(i.e., the mobile station is in a location where it has no GPScoverage), the mobile station may use only network information acquiredfrom the base station signal in setting its location fix. In anetwork-information mode, the mobile station uses only networkinformation in determining a position. For example, the mobile stationmay use trilateration or triangulation. Trilateration determines therelative positions of base stations in a similar fashion astriangulation. Unlike triangulation, which uses angle measurements(together with at least one known distance) to calculate a location of amobile station, trilateration uses locations of two or more basestation, and distances between the mobile station to each of these basestations. To determine the location of a mobile station on a2-dimensional plane using trilateration alone, it generally uses thelocation of at least three base stations, however, a location with ahigher uncertainty may be computed with the location of only one or twobase stations.

The mobile station may select an offline mode based on a lack of GPS andnetwork signals. If no GPS signal is available and the mobile station isin an out-of-service (OOS) area, no location fix is available. In thiscase, when tagging an image, a mobile station may use its last knownlocation fix, allow the user to provide a fix manually, oralternatively, may leave the fix blank.

FIG. 4 shows a flow chart for determining a means to set a location fix,in accordance with some embodiments of the present invention. At step101, the mobile station begins the location fix determination process todetermine whether to allow a user to manually provide a location fix orto automatically perform a location calculation. Step 101 may beentered, for example, as a result of an interrupt. If manual, processingcontinues at 190. If automatic, processing continues at 110. At 190, auser provides a fix or location (e.g., longitude and latitude, a streetaddress, a textual description).

At 110, the mobile station determines whether a location fix viastand-alone GPS is possible. For example, if the mobile station has goodGPS coverage or has current Ephemeris and Almanac information. If so, at120, the mobile station determines and sets its location fix viastand-alone GPS only. If not, at 130, the mobile station determineswhether a location fix may be determined using a combination oftechnologies. For example, if GPS coverage is available but poor and themobile station has a connection with a base station, the mobile stationcontinues to 140. At 140, the mobile station determines and sets itslocation fix via assisted GPS. For example, the mobile station firstreceives assistance data from the wireless network via the base station.

Next, the mobile station uses this assistance data to acquire GPSsignals and to determine a location fix. If there is no GPS coverage,the mobile station proceeds to 150 where it determines whether it maydetermine a location fix bases solely from network information. That is,if there is no GPS signal but there is a connection to the network via abase station, the mobile station may use information it receives fromthe base station to provide a coarse location fix. As 160, the mobilestation determines and sets its location fix via network information.

If there is no GPS coverage and the mobile station is in anout-of-service (OOS) area, the mobile station proceeds to 170 where itdetermines no fix is presently available. In some embodiments, if no fixis available, the user is queried to enter a manual fix. If a locationfix is available (from 120, 140 or 160) or no fix is available (from17), then at 180, the mobile station may appropriately update a variablecontaining the current location fix and a flag indicating that alocation fix has been determined.

FIGS. 5A and 5B illustrate screenshots, in accordance with someembodiments of the present invention. A user may determine what locationfix is used for tagging images. That is, a user may set one or moreconfigurable parameters to indicate to the mobile device what one ormore positions will be used in relation to capturing one or more images.

FIG. 5A shows a configuration screen. A user may select where a locationfix determined before or after an image is captured. With a firstoption, the user instructs the mobile station to use a location fixdetermined after the image is captured. With a second option, the userinstructs the mobile station to use a location fix determined before theimage is captured. With a third option (not shown), the user instructsthe mobile station to use a best location fix available (e.g., determinetwo fixes—one before and one after the image is captured-then use thelocation fix that is closest in time to the capturing of the image). Auser may also set how often images are tagged with a new location fix.For example, a user may select that every image has its individuallocation fix determined. Alternatively, a user may select that alocation fix is determined for the first in a series of captured images.That is, a location fix is determined for the first captured image thensubsequent images (e.g., images within a predetermined number of secondsfrom the first image or from a previous image) are tagged with the samedetermined location fix as used for the first captured image.

Other variables may be user configurable or system configurable as well.For example, a variable may be set or cleared to enable or disable acapture image process from interrupting the location processes (e.g.,capture image 310 and determine fix 100 described below with referenceto FIG. 7C). For example, if the variable is set, a user attempting tocapture an image halts the location process. If the variable is cleared,the user attempting to capture an image would be forced to wait untilthe location process is complete.

FIG. 5B shows a screenshot used during a batch mode. The screenshotincludes a list of options and a listing of images. The listing ofimages shown is a list of previously captured images available withinthe mobile station. The listing of images may be filtered or orderedbased on a quality of location fix (GPS fix, coarse fix, no fix) and/ora date and time the image was captured. For example, only untaggedimages may be listed, or alternatively, only images without a GPSlocation fix may be listed. In addition, the images may be displayed asa list with associated attributes or as reduced images (thumbnails).

In a batch mode, a user may tag a number of images at one time. Forexample, if a set of images selected from a listing of images is taggedwith no fix, the user may instruct the mobile station to set a locationfix to this set of images. Additionally, if a set of images are taggedwith only a coarse location fix, the user may instruct the mobilestation to set a new location fix. With a first option, the userinstructs the mobile station to use the last location fix available inthe mobile device to tag a set of images the user has selected from alisting of images. With a second option, the user instructs the mobilestation to get a new location fix and tag the selected set of imageswith this new location fix. With a third option (not shown), the userenters a fix manually (e.g., a text description of the location, anaddress, GPS coordinates, or the like) and instructs the mobile stationto tag a selected set of images with the manually entered fix.

FIGS. 6A, 6B, 6C, 6D, 7A, 7B, 7C, 8A, 8B, 8C, 9A, 9B and 9C showtime-line diagrams and flow charts illustrating various normal andinterrupted modes of operation for a mobile station, in accordance withsome embodiments of the present invention. The mobile station balancesamong capturing images, determining a location fix and tagging images.The figures show four states of a camera of a mobile station: a cameraidle state 200 and three active states—a capturing image state 210, adetermining location fix state 220 and a position tagging state 230.Each begins in a camera idle state 200, or equivalently, in a waitingstate 300. This state may be entered once the mobile station is poweredon and waiting for a user input, or alternatively, once the camera (orother recording device) is powered on and waiting for a user input.

FIGS. 6A, 6B, 6C and 6D show an example where the mobile station isconfigured to acquire a location fix, for each image, after the imagewas captured. As shown in FIG. 6A, the mobile station exits the cameraidle state 200 as a user initiates capturing of an image, therebyentering state 210. An image is captured during the duration ‘A’. Onceimage capturing is complete, the mobile station begins determine alocation fix by entering state 220. The mobile station determines alocation fix based on a combination of availability of good, poor or noGPS signals as well as the availability of a base station signal orbeing in an out-of-service (OOS) area as described above with referenceto FIG. 3B. The mobile station operates over a duration ‘B’ to determinea location fix. Once a location fix is determined, the mobile stationtags the image with the determined location fix by entering state 230,which take a very short amount of time ‘C’ until the mobile stationreturns to the idle state 200. This process repeats itself with asubsequent user action to capture a second image (at ‘D’) followed by anew position determination (at ‘E’) and finally the image is tagged (at‘F’).

FIG. 6B shows a mobile station capturing a sequence of images. From anidle state 200, a mobile station begins capturing an image (state 210)during a duration of Lime ‘A’. Once the image is captured, the mobilestation determines a location fix (state 220) over a duration of time‘B’. In this example, before a location fix may be determined, a userinterrupts the location fix determination process by beginning tocapture a second image (re-entering state 210). During ‘C’, the secondimage is captured. Next, the mobile station re-enters state 220 tocomplete determination of a location fix during duration ‘D’. Once alocation fix is determined, the two previous images just captured aretagged with the determined location fix (state 230) during duration ‘E’.The camera returns to its idle state 200 once the images are tagged.

FIG. 6C shows capturing an image followed by a series of attempts todetermine a location fix. At ‘A’, a mobile station leaves an idle state200 and enters state 210 to capture an image. At ‘B’, the mobile stationattempts to determine a fix but is unsuccessful, for example, if themobile station is in an OOS area with no GPS coverage. The mobilestation may set a timer with a predetermined value and re-enter the idlestate 200 for a duration of ‘C’. At ‘D’, the timer times out and themobile station attempts a second time to determine a location fix.Again, in this example, no fix is available. The mobile station againsets the timer and waits for a duration of ‘E’ in the idle state 200.Once more at ‘F’, the timer times out and the mobile station re-entersthe determine location fix state 220. In this example, a location fix isdetermined. At ‘G’, the mobile station enters state 230 and proceeds totag the image captured earlier. Finally, the mobile station returns tothe idle state 200.

FIG. 6D shows a flow diagram summarizing events and actions for a mobilestation configured to acquire a location fix, for each image, after theimage was captured. The flow may begin in a waiting state 300(equivalent to idle state 200). The mobile station may exit state 300 ifthe user initiates capturing of an image. Alternately, mobile stationmay exit state 300 if the user enables a camera mode. Additionally, themobile station may exit state 300 if a timeout occurs. In state 310, themobile station begins to capture an image or a tight sequence of images.Once a final image is captured, the mobile station may exit state 310and enter state 100 to begin the location fix determination process. Ifstate 310 was entered but no image was captured, the mobile station maytime out and return to waiting in state 300. At state 100, the mobilestation begins the process of determining a location fix. The mobilestation exits state 100 if a location fix is determined (therebyentering state 330), if no fix is available (thereby setting a timer andreturning to a waiting state 300), or if a user causes an interruptionby beginning the image capturing process at state 310). At state 330,the mobile station tags the untagged captured image (or sequence ofimages) and returns to the waiting state 300.

FIGS. 7A, 7B and 7C show an example where the mobile station isconfigured to use a location fix acquired, for each image, before theimage was captured.

In FIG. 7A at ‘A’, a mobile station exits an idle state 200, entersstate 220 to determine a location fix, determines that fix and saves itto memory. The mobile station may set an expiration timer such that whenthe timer expires, the current location fix is refreshed with a newlocation fix. For example, the expiration timer may be set to apredetermined duration of time (e.g., 5, 10, 15, 20, 25, 30, 45 or 60minutes). In this way, the mobile station has an accurate location fix,or nearly accurate location fix, for future time stamping. After theexpiration timer is set, the mobile station reenters the idle state 200.Some time later or within a predetermined time later, the user causesthe mobile station to enter state 210 to capture an image at ‘B’.Because the mobile station already has a valid location fix saved tomemory, the image may be immediately tagged during duration ‘C’ in state230. Once tagged, the mobile station may reenter the idle state 200. Inthis example, the expiration timer expires indicating the currentlocation fix should be refreshed. During ‘D’, the mobile station entersstate 220, determines a new location fix and saves it to memoryreplacing the previous location fix. In this configuration, a locationfix is taken but may not necessarily be used and, if used, is used foran image captured after the location fix was determined.

FIG. 7B shows a sequence of events where a position determining processis interrupted by a user capturing images. At ‘A’, the mobile stationenters state 220 to begin location fix determination. The userinterrupts this process by beginning to capture a first image (at ‘B’ instate 210). Once image capturing is complete, the mobile stationreenters state 220 at ‘C’ to continue the location fix determinationprocess. This example shows a second interruption of this process by theuser again entering state 210 to capture an image at ‘D’. Once complete,the mobile station continues again with the location fix determinationprocess (at ‘E’ in state 220). Finally, the process determines alocation fix and tags the untagged images previously captured (at ‘F’ instate 230). The mobile station then returns to the idle state 200.

FIG. 7C shows a flow diagram summarizing events and actions for a mobilestation configured to acquire a location fix, for each image, before animage was captured. When the mobile station is configured to use alocation fix acquired before an image is captured, processing beginswith state 100 to determine a location fix. The mobile station may exitstate 100 if the process determines a location fix (thereby exiting towait state 300) or if an interrupt occurs (thereby exiting to state310), for example, by a user trying to capture an image. At state 300,the mobile station is waiting for a user action or a timeout. If a userinitiates the capturing of images, the mobile station proceeds to state310. If the mobile station captures an image and a location fix isavailable, the mobile station proceeds to state 330 to tag the image. Onthe other hand, if an image is captured but no fix is available, themobile station returns to state 100 to determine a location fix. If,after a predetermined timeout period, no image is captured, the mobilestation may timeout and return to determining a location fix (at state100) if a location fix is needed or may timeout and return to waiting(at state 300) if no fix is needed. State 300 may be configured totimeout once a location fix becomes stale and needs to be refreshed orif no fix has been available for a predetermined duration of time. Atexpiration of this refresh timer, the mobile station exits state 300 todetermine a new location fix at state 100. Once a new location fix isdetermined, the mobile station may exit state 100 and enter state 330 totag any untagged images.

FIGS. 8A, 8B and 8C show an example where the mobile station isconfigured to acquire a location fix after a first image in a sequenceof images was captured and to use the same location fix for each of thesequence of images. A group of images may be determined that they are asequence of images based on each image begin captured within apredetermined duration of time before a previous image. For example,images in the sequence are captured with 30 seconds, 1 minute, 2minutes, 3 minutes, 4 minutes, 5 minutes or some other predeterminedduration of time from an immediately preceding image. Alternately,images in the sequence are captured within a predetermined window oftime. For example, images in the sequence are captured within of windowof 5 minutes, 10 minutes, 15 minutes or 30 minutes from the first image.Alternatively, the sequence of images may last until the user instructsthe mobile station to terminate the sequence.

FIG. 8A shows a sequence of captured images being tagged with the samelocation fix. At ‘A’, a user captures a first image in state 210.Following the capturing of the first image at ‘B’, a location fix isdetermined in state 220. At ‘C’, the determined location fix is used totag the first image in state 230. The mobile station returns to an idlestate 200. At ‘D’, the mobile station captures a second image in state210. Instead of determining a new location fix in state 220, thepreviously determined location fix is used to tag the second image instate 230 at ‘E’. Subsequent images in the sequence are similarlycaptured in state 210 and tagged in state 230. The determined locationfix may be replaced in the future by a refreshed position location fix,which may be used for subsequent sequences of images.

FIG. 8B shows a sequence of events where a position determining processis interrupted by a user capturing images. At ‘A’, the mobile stationenters state 210 to capture a first image. At ‘B’, the mobile stationenters state 220 to begin location fix determination. The userinterrupts this process by beginning to capture a second image (at ‘C’in state 210). Once image capturing is complete, the mobile stationreenters state 220 to continue the location fix determination process(at ‘D’). Once the mobile station determines and saves a new locationfix to memory, the mobile station tags the two untagged imagespreviously captured (at ‘E’ in state 230). The mobile station thenreturns to the idle state 200. The sequence of images continues with theuser capturing a third image (at ‘F’ in state 210). The third image isalso tagged with the same location fix (at ‘C’ in state 230). The samelocation fix is used until the sequence of images terminates.Eventually, the saved location fix may be replaced with a refreshedupdated location fix.

FIG. 8C shows a flow diagram summarizing events and actions for a mobilestation configured to acquire a location fix after a first image in asequence of images was captured and to use the same location fix foreach of the sequence of images. The flow begins with the mobile stationin the wait state 300. A user action causes the mobile station to entera capture image state 310. If an image is captured and no fix isavailable, the mobile station enters state 100 to determine a locationfix. If an image is captured and a location fix is available (e.g.,resulting from a previous picture in the sequence of pictures), themobile station enters state 330 to tag the image. If no image iscaptured, the mobile station may timeout and return to the wait state300. Once the image is tagged, the mobile station returns to the waitstate 300. While in the process of determining a location fix in state100, the mobile station may determine the location fix and enter state330 to tag one or more images, may be interrupted by the user capturinganother image and enter state 310, or may not be able to obtain alocation fix and return to the wait state 300. While waiting in state300, the mobile station may periodically timeout and to attempt toobtain a location fix for an untagged images. The mobile station maytimeout periodically over a predetermine duration of time until finallyabandoning its attempt at automatically tagging the untagged images.

FIGS. 9A, 9B and 9C show an example where the mobile station isconfigured to use a location fix acquired before a first image in asequence of images is captured and to use the same location fix for eachof the sequence of images.

FIG. 9A shows a process of capturing a sequence of images and taggingthese images with the same pre-determined location fix. At ‘A’,processing starts with determining a location fix in state 220 beforethe first image is captured. Once a location fix is determined, themobile station enters the wait state 200. At ‘B’, the user captures afirst image in state 210, which the mobile station tags in state 230 at‘C’ and returns to the wait state 200. This process may repeat for eachimage in the sequence. For example at ‘D’, the user captures a secondimage in state 210, which the mobile station tags in state 230 at ‘E’and returns to the wait state 200.

FIG. 9B shows a mobile station interrupting the determination process tocapture images before a location fix is determined. At ‘A’, the mobilestation begins determining a location fix at state 220. The mobilestation interrupts state 220 to capture a first image in state 210 (at‘B’), then returns to determining the location fix in state 220 (at‘C’). Again, the mobile station interrupts the location fixdetermination process to capture a second image in state 220 (at ‘D’).In this example, after the second image is captured, the mobile stationcompletes its process of determining a location fix in state 220 (at‘E’). At state 230, the mobile station tags the two untagged images (at‘F’) then returns to the idle state 200.

FIG. 9C shows a flow diagram summarizing events and actions for a mobilestation configured to use a location fix acquired before a first imagein a sequence of images is captured and to use the same location fix foreach of the sequence of images. Processing begins in state 100 todetermine a location fix. Once a location fix is determined in state100, the mobile station saves the determined location fix to memory andeither enters state 300 to wait or enters state 330 to tag untaggedimages. Alternatively, if no fix is available, the mobile station sets atimer to attempt the determination at a predetermined duration of timein the future then enters a wait state 200. During the determinationprocess a user action may cause the mobile station to interrupt thedetermination process and enter state 310 to capture an image. Themobile station may exit state 310 if an image is captured and a locationfix has already been determined (thereby entering state 330), if animage is captured but no fix is available yet (thereby entering state100), if the mobile station times out waiting to capture an image but noimage is captured and a location fix is already saved (thereby enteringstate 300), and if the mobile station times out waiting to capture animage but no image is captured and no fix is saved (thereby enteringstate 100). Once untagged images are tagged in state 330, the mobilestation returns to the wait state 300. While waiting in state 300, themobile station may timeout and reenter state 100. For example, themobile station may timeout to refresh a previously saved location fix.The mobile station may also timeout if one or more captured images isuntagged and a predetermine duration of time has not yet passed allowingthe mobile station to make another attempt and position location.

Some configurations described above provide for a mobile station to tagone more images with a position determined before the image wascaptured. Some configurations described above provide for a mobilestation to tag one or more images with a position determined after animage is captured. A mobile station may also select between twodifferent positions to tag an image. For example, a mobile station maytag an image with the last available location fix. A duration of timefrom the last location fix to the time the image was captured may berecorded (TIME_PREVIOUS_FIX). The mobile station later may determine anupdated location fix. The duration of time from the captured image tothe updated location fix may also be recorded (TIME_FIX_NEXT). If thisnext duration (TIME_FIX_NEXT) is less than the previous duration(TIME_PREVIOUS_FIX), the mobile station may replace the previous tagwith this updated location fix. In an alternative embodiment, the timeof image capture can be used to interpolate a location between twosuccessive location fixes where the time of image capture falls betweenthe two times of location fixes.

In some embodiments, a first image is tagged with a previouslydetermined location, a location fix determined after the image wascaptured, or the better of the two location fixes as just described. Insome embodiments, the mobile station determines whether to enter into amode where the first image only is tagged with a unique location fix.For example, in a sports mode, where multiple images are taken within ashort amount of time from one another, the mobile station may apply thesame location fix to all of the images taken.

FIGS. 10A and 10B show process flows for tagging images, in accordancewith some embodiments of the present invention. FIG. 10A shows a batchmode of tagging images where the mobile station is configured to use thelast location fix. At 100, the mobile station determines a location fix.At some future time, the user enters a batch mode 400. In the batchmode, the user may select a “Use last location fix” option as shown inFIG. 5B. The mobile station presents a list of images for tagging (e.g.,the last set of untagged images, all untagged images, or the like). At410, the user selects a set of images to be tagged with the lastdetermined location fix. At 420, if a location fix was previouslydetermined and saved to memory, the mobile tags each image with the lastdetermined location fixed saved in memory. At 430, if no fix isavailable in memory, the mobile station instructs the user that no fixis available. Alternatively, the option for tagging a set of images withthe “Use last fix” option when no such location fix exists in memory,may modify the display to the user to gray out this option therebymaking it un-selectable.

Alternatively, the user could be queried to provide a fix orgeographical indicator. For example, if no fix is available, the usercould be prompted to describe the location where the images wherecaptured (e.g., the user could enter “Wat Ayuthayya” and the devicecould tag the set of images with this text), which would allow for postprocessing and reverse geocoding at a later time. At some point in thefuture, this text from the each image could be ported to a server thatmatches and converts the user entered text to an equivalent GPSdetermined fix. The images could then tagged with a fix in addition orinstead of the user entered text.

FIG. 10B shows a batch mode of tagging images where the mobile stationis configured to get a new location fix. At 400, the user enters a batchmode 400. In the batch mode, the user may select a “Get new fix” optionas shown in FIG. 5B. At 410, the user selects a set of images to betagged with the next determined location fix. At 100, the mobile stationdetermines a location fix. At 420, if a location fix was determined, themobile tags each image with this determined location fix. At 430, if nofix could be determined, the mobile station instructs the user that nofix is available.

Therefore, it should be understood that the invention can be practicedwith modification and alteration within the spirit and scope of theappended claims. The description is not intended to be exhaustive or tolimit the invention to the precise form disclosed. It should beunderstood that the invention can be practiced with modification andalteration.

1. A method of geographically tagging images in a device comprising acamera, the method comprising: capturing an image; determining aposition based on an attempt to detect satellite signals and wirelessnetwork signal; and tagging the image with the determined position. 2.The method of claim 1, further comprising using one or more configurableparameters to indicate what one or more positions will be used inrelation to capturing one or more images.
 3. The method of claim 2,further comprising configuring, by a user, at least one of the one ormore configurable parameters.
 4. The method of claim 2, wherein: a firstvalue of the one or more configurable parameters indicates the act ofdetermining the position occurs after the act of capturing the image;and a second value of the one or more configurable parameters indicatesthe act of determining the position occurs before the act of capturingthe image.
 5. The method of claim 4, wherein: a first value of the oneor more configurable parameters indicates the act of determining theposition occurs once each image; and a second value of the one or moreconfigurable parameters indicates the act of determining the positionoccurs once for a set of images.
 6. The method of claim 2, furthercomprising configuring, by a user, at least one of the one or moreconfigurable parameters, wherein: a first value of the one or moreconfigurable parameters indicates the act of determining the positionoccurs after the act of capturing the image; a second value of the oneor more configurable parameters indicates the act of determining theposition occurs before the act of capturing the image; and a third valueof the one or more configurable parameters indicates the act ofdetermining the position occurs concurrently with the act of capturingthe image.
 7. The method of claim 1, wherein the act of determining theposition depends on a sequence of positions.
 8. The method of claim 1,wherein the act of determining the position consists of an interpolationof a sequence of positions.
 9. The method of claim 1, wherein the act ofdetermining the position comprises determining the position based on aselected one of: a stand-alone SPS mode; an assisted-SPS mode; and anetwork-information mode.
 10. The method of claim 9, wherein: thestand-alone SPS mode is selected based on SPS signals meeting a firstthreshold; the assisted-SPS mode is selected based on the SPS signalsmeeting a second threshold lower than the first threshold, and furtherbased on the availability of network information; and thenetwork-information mode is selected based on the SPS signal not meetingthe second threshold, and further based on the availability of thenetwork information.
 11. The method of claim 10, wherein the firstthreshold indicates a quality of the SPS signals.
 12. The method ofclaim 10, wherein the first threshold indicates a quantity of the SPSsignals.
 13. The method of claim 10, wherein the network informationcomprises an identification of a cell.
 14. The method of claim 10,wherein the network information comprises an identification of an accesspoint.
 15. The method of claim 1, wherein the act of capturing the imagecomprises: interrupting a previous determination of a position;capturing the image to memory; and initiating the act of determining theposition.
 16. The method of claim 1, further comprising: attempting todetermine the position; determining no fix is available; entering anidle state; and timing out of the idle state based on an existence of anunstamped image.
 17. The method of claim 1, further comprising timingout of the idle state to refresh a location fix.
 18. The method of claim1, further comprising timing out of the idle state to refresh an unusedlocation fix.
 19. The method of claim 1, wherein the act of determiningthe position comprises weighting a plurality of locations eachassociated with a terrestrial base station
 20. The method of claim 1,wherein the device further comprises a cellular telephone.
 21. Themethod of claim 1, wherein the device further comprises a personalnavigation device.
 22. The method of claim 1, wherein the imagecomprises a video image.
 23. The method of claim 1, wherein the imagecomprises an audio tract.
 24. The method of claim 1, wherein the imagecomprises a still image.
 25. The method of claim 1, wherein the act oftagging the image with the determined position comprises: tagging theimage with a first position determined before the image was captured;and tagging the image with a second position determined after the imagewas captured.
 26. The method of claim 1, wherein the act of tagging theimage with the determined position comprises tagging the image with asequence of determined positions.
 27. A method of geographicallystamping images in a device comprising a camera, the method comprising:determining a position based on an attempt to detect satellite signalsand wireless network signal; capturing an image after the act ofdetermining the position; and tagging the image with the determinedposition.
 28. The method of claim 27, wherein the act of determining theposition comprises determining the position based on a selected one of:a stand-alone SPS mode; an assisted-SPS mode; and a network-informationmode.
 29. The method of claim 28, wherein: the stand-alone SPS mode isselected based on SPS signals meeting a first threshold; theassisted-SPS mode is selected based on the SPS signals meeting a secondthreshold lower than the first threshold, and further based on theavailability of network information; and the network-information mode isselected based on the SPS signal not meeting the second threshold, andfurther based on the availability of the network information.
 30. Themethod of claim 29, wherein the first threshold indicates a quality ofthe SPS signals.
 31. The method of claim 29, wherein the first thresholdindicates a quantity of the SPS signals.
 32. The method of claim 29,wherein the network information comprises an identification of a cell.33. A method of geographically stamping a batch of images in a devicecomprising a camera, the method comprising: capturing a plurality ofimages; selecting the plurality of images; determining a position basedon detection of satellite signals and detection of a wireless networksignal; and tagging the plurality of images with the determinedposition.
 34. The method of claim 33, wherein the act of determining theposition occurs before the act of selecting the plurality of images. 35.The method of claim 33, wherein the act of determining the positionoccurs after the act of selecting the plurality of images.
 36. Themethod of claim 33, wherein the act of determining the positioncomprises determining the position based on a selected one of: astand-alone SPS mode; an assisted SPS mode; and a network-informationmode.
 37. The method of claim 36, wherein: the stand-alone SPS mode isselected based on SPS signals meeting a first threshold; theassisted-SPS mode is selected based on the SPS signals meeting a secondthreshold lower than the first threshold, and further based on theavailability of network information; and the network-information mode isselected based on the SPS signal not meeting the second threshold, andfurther based on the availability of the network information.
 38. Themethod of claim 33, further comprising using one or more configurableparameters to indicate when a position will be determined in relation tothe plurality of images.
 39. The method of claim 38, wherein: a firstvalue of the one or more configurable parameter indicates the act ofdetermining the position occurs after the act of capturing the image;and a second value of the one or more configurable parameter indicatesthe act of determining the position occurs before the act of capturingthe image.
 40. A device comprising a camera for geographically taggingimages, the device comprising: means for capturing an image; means fordetermining a position based on an attempt to detect satellite signalsand wireless network signal; and means for tagging the image with thedetermined position.
 41. The device of claim 40, further comprising:means for attempting to determine the position; means for determining nofix is available; means for entering an idle state; and means for timingout of the idle state based on an existence of an unstamped image.
 42. Adevice comprising a camera for geographically stamping a batch ofimages, the device comprising: means for capturing a plurality ofimages; means for selecting the plurality of images; means fordetermining a position based on an attempt to detect satellite signalsand wireless network signal; and means for tagging the plurality ofimages with the determined position.
 43. A computer-readable productcomprising a computer-readable medium comprising: code for causing atleast one computer to capture an image; code for causing at least onecomputer to determine a position based on an attempt to detect satellitesignals and wireless network signal; and code for causing at least onecomputer to tag the image with the determined position.
 44. Thecomputer-readable product of claim 43, wherein the computer-readablemedium further comprises: code for causing at least one computer toattempt to determine the position; code for causing at least onecomputer to determine no fix is available; code for causing at least onecomputer to enter an idle state; and code for causing at least onecomputer to time out of the idle state based on an existence of anunstamped image.
 45. A computer-readable product comprising acomputer-readable medium comprising: code for causing at least onecomputer to capture a plurality of images; code for causing at least onecomputer to select the plurality of images; code for causing at leastone computer to determine a position based on an attempt to detectsatellite signals and wireless network signal; and code for causing atleast one computer to tag the plurality of images with the determinedposition.